package cn.iocoder.yudao.module.trade.dal.dataobject.depositorderreturn;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 押金单退瓶 DO
 *
 * @author 管理员
 */
@TableName("trade_deposit_order_return")
@KeySequence("trade_deposit_order_return_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DepositOrderReturnDO extends BaseDO {

    /**
     * id
     */
    @TableId
    private Long id;
    /**
     * 单据单号
     */
    private String code;
    /**
     * 燃气户id
     */
    private Long crmGasUserId;
    /**
     * 押金单id
     */
    private Long depositId;
    /**
     * 押金总瓶数
     */
    private Integer steelCylinderTotal;
    /**
     * 退瓶数量
     */
    private Integer bottleReturnCount;
    /**
     * 已扫描退瓶数量
     */
    private Integer scanBottleReturnCount;
    /**
     * 押金内容
     */
    private String depositContent;
    /**
     * 应退金额
     */
    private BigDecimal refundableAmount;
    /**
     * 实际退款金额
     */
    private BigDecimal actuaRefundAmount;
    /**
     * 退瓶原因
     */
    private String reasonBottleReturn;
    /**
     * 总押金
     */
    private BigDecimal totalDeposit;
    /**
     * 待缴租金
     */
    private Long rentPaid;
    /**
     * 部门id
     */
    private Integer deptId;
    /**
     * 确认人
     */
    private Long confirmId;
    /**
     *  确认时间
     */
    private LocalDateTime confirmTime;
    /**
     * 退瓶单附件
     */
    private String imageUrl;
    /**
     * 退瓶单状态0待确认1已确认
     */
    private Integer status;
    /**
     * 备注
     */
    private String remark;
    /**
     *剩余数量
     */
    private Integer residueCount;
    /**
     *退押金额
     */
    private BigDecimal refundAmount;

    /**
     *结算金额
     */
    private BigDecimal settlementAmount;
    /**
     *  起租时间和结束时间
     */
    private LocalDateTime startTime;
    private LocalDateTime endTime;

    private String submitName;
    private String confirmName;

    private String crmName;

    private String mobile;
}